package edu.sju.chenshu.system.service.exam;

import edu.sju.chenshu.common.core.domain.Result;
import edu.sju.chenshu.common.core.domain.TableDataInfo;
import edu.sju.chenshu.common.core.service.BaseService;
import edu.sju.chenshu.system.domain.exam.dto.ExamAddDTO;
import edu.sju.chenshu.system.domain.exam.dto.ExamEditDTO;
import edu.sju.chenshu.system.domain.exam.dto.ExamQueryDTO;
import edu.sju.chenshu.system.domain.exam.dto.ExamQuestionAddDTO;
import edu.sju.chenshu.system.domain.exam.vo.ExamDetailVO;

public interface IExamService extends BaseService {
    TableDataInfo list(ExamQueryDTO examQueryDTO);

    Result<String> add(ExamAddDTO examAddDTO);

    Result<Void> questionAdd(ExamQuestionAddDTO examQuestionAddDTO);

    ExamDetailVO detail(Long examId);

    Result<Void> edit(ExamEditDTO examEditDTO);

    Result<Void> questionDelete(Long examId, Long questionId);

    Result<Void> delete(Long examId);

    Result<Void> publish(Long examId);

    Result<Void> cancelPublish(Long examId);
}
